home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Deutsche Edition 1
/
Deutsche Edition 1.iso
/
amok
/
081-090
/
amok83
/
wbreadargs1.0
/
wbreadargstest.mod
< prev
next >
Wrap
Text File
|
1993-11-04
|
3KB
|
117 lines
(*************************************************************************
:Program. WBReadArgsTest.mod
:Contents. test for WBReadArgs
:Author. Hartmut Goebel [hG]
:Address. Aufseßplatz 5, D-8500 Nürnberg 40
:Address. UseNet: hartmut@oberon.nbg.sub.org
:Address. Z-Netz: hartmut@asn.zer Fido: 2:246/81.1
:Copyright. Copyright © 1993 by Hartmut Goebel
:Language. Oberon
:Translator. Amiga Oberon V3.0
:History. V1.0, 03 Jan 1993 [hG]
:Date. 03 Jan 1993 15:46:19
(* $StackChk- $NilChk- $RangeChk- $CaseChk- $OvflChk- $ReturnChk- $ClearVars- *)
*************************************************************************)
MODULE WBReadArgsTest;
IMPORT
io, NoGuru,
WBReadArgs,
ol := OberonLib,
d := Dos,
e := Exec,
wb := Workbench;
CONST
Template = "Files/M,Switch/S,Toggle/T,Number/N/K,Keyword/K,Needed/A";
TYPE
ArgArray = STRUCT
files: UNTRACED POINTER TO ARRAY d.maxMultiArgs OF e.STRPTR;
switch, toggle: LONGINT;
number: UNTRACED POINTER TO ARRAY 1 OF LONGINT;
keyword: e.STRPTR;
needed: e.STRPTR;
END;
CONST
argArray = ArgArray(NIL,0,d.DOSTRUE,NIL,NIL,NIL);
VAR
argarray: ArgArray;
args: d.RDArgsPtr;
wbargs: WBReadArgs.Arguments;
wbm: wb.WBStartupPtr;
PROCEDURE ShowArgs();
VAR
i: INTEGER;
BEGIN
IF argarray.files # NIL THEN
io.WriteString("Files: ");
i := 0;
WHILE argarray.files[i] # NIL DO
io.WriteString(argarray.files[i]^);
io.Write(" ");
INC(i);
END;
io.WriteLn;
END;
IF argarray.switch # d.DOSFALSE THEN
io.WriteString("Switch is SET\n");
ELSE
io.WriteString("Switch is NOT set\n");
END;
IF argarray.toggle # d.DOSFALSE THEN
io.WriteString("Toggle is SET\n");
ELSE
io.WriteString("Toggle is NOT set\n");
END;
IF argarray.number # NIL THEN
io.WriteString("Number is ");
io.WriteInt(argarray.number[0],0);
io.WriteLn;
END;
IF argarray.keyword # NIL THEN
io.WriteString("Keyword is ");
io.WriteString(argarray.keyword^);
io.WriteLn;
END;
IF argarray.needed # NIL THEN
io.WriteString("Needed is ");
io.WriteString(argarray.needed^);
io.WriteLn;
END;
END ShowArgs;
BEGIN
argarray := argArray;
IF ol.wbStarted THEN
wbm := ol.wbenchMsg;
IF ~ WBReadArgs.ReadArgs(wbm.argList[0],Template,argarray,wbargs) THEN
io.WriteString("Error: "); io.WriteInt(WBReadArgs.error,0);
ELSE
io.WriteString("started from Workbench\n\n");
ShowArgs();
WBReadArgs.FreeArgs(wbargs);
END;
d.Delay(500);
ELSE
args := d.ReadArgs(Template,argarray,NIL);
IF args = NIL THEN
IF d.PrintFault(d.IoErr(),"WBReadArgsTest") THEN END;
HALT(20);
ELSE
io.WriteString("started from Shell\n\n");
ShowArgs();
d.FreeArgs(args);
END;
END;
END WBReadArgsTest.